package com.xzt.bookstore.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xzt.bookstore.dto.BookCreateRequest;
import com.xzt.bookstore.entity.Book;

/**
 * 图书服务接口
 */
public interface BookService extends IService<Book> {
    
    /**
     * 分页查询图书列表
     * @param current 当前页
     * @param size 每页大小
     * @param name 图书名称（可选，模糊查询）
     * @param author 作者（可选，模糊查询）
     * @param category 分类（可选）
     * @param status 状态（可选，1-在售，0-下架）
     * @return 分页结果
     */
    Page<Book> getBookList(Long current, Long size, String name, String author, String category, Integer status);
    
    /**
     * 创建图书
     * @param request 创建图书请求
     * @return 创建的图书对象
     */
    Book createBook(BookCreateRequest request);
    
    /**
     * 下架图书
     * @param id 图书ID
     * @return 下架后的图书对象
     */
    Book offlineBook(Long id);
}

